Some storage devices include a plurality of modules and are connected to a host. The modules include their respective processors and operate by executing their respective independent firmware. Each of the modules is assigned with a memory area of a working plane storing firmware being currently executed and a memory area of a non-working plane storing firmware for update. The storage device includes modules such as, for example, a channel adapter (CA), a central processing unit (CPU), an input/output controller (IOC), and an expander (EXP). In the following description, firmware is also referred simply to as Firm. Firm for update is also referred to as new Firm.
When updating Firm of each module, an administrator stores a new Firm, which operates a module after the updating, in the memory area of the non-working plane assigned to the module for which the Firm is updated. Then, the administrator reboots the module for which the new Firm is stored in the memory area of the non-working plane. At the rebooting, the storage device switches between the memory area of the working plane and the memory area of the non-working plane and starts the module. Accordingly, in the storage device, the module operates with the new Firm after the rebooting. In the following description, a process of operating the module with the new Firm after the rebooting is also referred to as control to update Firm of the module.
In the storage device, the Firm of each module included in the storage device is updated without stopping a storage system. In the following description, updating Firm of each module included in the storage device without stopping the storage system is also referred to as active exchange.
A software updating device is known as another related technique. The software updating device includes a load storing means for storing load transition data associating a predicted value of load on a module with time, and update data for software to control the module. The software updating device further includes a patch storing means for storing required time taken to apply the update data to the software in association with the software. The software updating device further includes an update estimating means for extracting, from the load transition data, a time zone in which the sum of loads is below a threshold value over the required time read from the patch storing means and assigning an execution schedule of software update to the extracted time zone. Based on the execution schedule, the software updating device causes the module, for which software is updated, to stop providing of service and executes the software update.
According to a system which is known as another related technique, a first path adapter and a second path adapter of a host computer are connected to input/output ports of a first cluster and a second cluster of a storage device via a first connection path and a second connection path, respectively. The host computer is provided with an exchange path soft and a database representing destinations of the connection paths. In the storage device, the input/output ports are connected to a large number of hard disk drive devices. This storage device is provided with an internal management device and a database representing destinations of the input/output ports. A management server device is connected to the host computer and the storage device via a local area network (LAN), and is provided with a program exchange program and a microprogram used for program exchange. Instructions for starting up a program and the like are issued from a computer device.
In addition, a storage system is known as another related technique. The storage system includes a host device and a storage device including a plurality of firmware corresponding to a plurality of connection paths with the host device. The host device includes a state information notifying means for notifying state information (normal or abnormal) regarding connection paths with the storage device. The storage device includes a receiving means for receiving a state information notification corresponding to the connection paths from the host device, a management table storing state information acquired from the received state information notification, and a request receiving means for receiving an update firmware and an exchange request regarding the update firmware. The storage device further includes an exchange means. Upon receiving the exchange request, the exchange means sequentially executes, if the connection paths are all normal, active exchange for firmware corresponding to connection paths on the basis of the management table.
Related techniques are disclosed in, for example, Japanese Laid-Open Patent Publication No. 2012-194892, Japanese Laid-Open Patent Publication No. 2005-242574, and Japanese Laid-Open Patent Publication No. 2008-186296.
According to storage devices using the above-described update techniques, firmware of the CA may be actively exchanged under the multipath environment. However, an operation for active exchange for Firm may be troublesome, since an administrator switches paths for sending data and updates firmware of each CA.